<?php
$ddl_tablas=array(
 'sybmas_accionPermiso'=>'CREATE TABLE sybmas_accionPermiso(
						id_accion NUMERIC(2) NOT NULL,
						accion VARCHAR(15) NOT NULL,
						descripcion VARCHAR(80) NULL, 
						CONSTRAINT pk_sybmas_accionPermiso PRIMARY KEY(id_accion)
						)',
 'sybmas_modulo'=>'CREATE TABLE sybmas_modulo(
					id_modulo NUMERIC(2,0) CONSTRAINT pk_modulo PRIMARY KEY,
					nombre VARCHAR(30) NOT NULL,
					ubicacion VARCHAR(50) NULL,
					fecha datetime NULL
					)',
 'sybmas_opcionModulo'=>'CREATE TABLE sybmas_opcionModulo(
					id_opcionModulo NUMERIC(3) NOT NULL,
					nombreopc VARCHAR(30) NOT NULL,
					descripcion VARCHAR(100) NULL,
					id_modulo NUMERIC(2,0) NOT NULL,
					link VARCHAR(60) NULL,
					rutaImagen VARCHAR(60) NULL, 
					CONSTRAINT pk_sybmas_opcionModulo PRIMARY KEY(id_opcionModulo)
					)',
 'sybmas_permisoObjeto'=>'CREATE TABLE sybmas_permisoObjeto (
							id_permiso NUMERIC(3) NOT NULL,
							suid_otorga SMALLINT NOT NULL,
							suid_recibe SMALLINT NOT NULL,
							dbid SMALLINT NOT NULL,
							tableid INT NOT NULL,
							colid TINYINT NULL,
							fecha DATETIME,
							id_tipoPermiso NUMERIC(3) NOT NULL,
							id_accion NUMERIC(2) NOT NULL,
							CONSTRAINT pk_sybmas_permiso PRIMARY KEY (id_permiso)
							)',
 
 'sybmas_respaldo'=>'CREATE TABLE sybmas_respaldo (
					id_respaldo NUMERIC(3) NOT NULL,
					nombre VARCHAR(30) NOT NULL,
					id_tipoRespaldo NUMERIC(2) NOT NULL,
					fechaCreacion DATETIME NOT NULL,
					dbid SMALLINT NOT NULL,
					srid SMALLINT NULL,
					suid SMALLINT NOT NULL,
					CONSTRAINT pk_sybmas_respaldo PRIMARY KEY(id_respaldo)
					)',
 'sybmas_rolesmodulo'=>'CREATE TABLE sybmas_rolesmodulo(
						srid smallint NULL,
						id_modulo NUMERIC(2,0)
						)',
 'sybmas_rolesOpcionModulo'=>'CREATE TABLE sybmas_rolesOpcionModulo(
							srid SMALLINT NULL,
							id_opcionModulo NUMERIC(3)							
							)',
 'sybmas_tipoPermiso'=>'CREATE TABLE sybmas_tipoPermiso (
						id_tipoPermiso NUMERIC(3) NOT NULL,
						nombre VARCHAR(30) NOT NULL,
						descripcion VARCHAR(100),
						CONSTRAINT pk_sybmas_tipoPermiso PRIMARY KEY (id_tipoPermiso)
						)',
 'sybmas_tipoRespaldo'=>'create table sybmas_tipoRespaldo (
						id_tipoRespaldo NUMERIC(2) NOT NULL,
						nombre VARCHAR(15) NOT NULL,
						descripcion VARCHAR(30),
						CONSTRAINT pk_sybmas_tipoRespaldo PRIMARY KEY(id_tipoRespaldo))'
);

$ddl_restricciones_drop=array(
 'sybmas_accionPermiso'=>array(),
 'sybmas_modulo'=>array(),
 'sybmas_opcionModulo'=>array(
 	'ALTER TABLE sybmas_opcionModulo DROP CONSTRAINT fk_sybmas_modulo_01 ',
 	),
 'sybmas_permisoObjeto'=>array(
 	'ALTER TABLE sybmas_permisoObjeto DROP CONSTRAINT fk_sybmas_accionPermiso_02 ',
	'ALTER TABLE sybmas_permisoObjeto DROP CONSTRAINT fk_sybmas_tipoPermiso_01 '
	),
 'sybmas_respaldo'=>array(
 	'ALTER TABLE sybmas_respaldo DROP CONSTRAINT fk_sybmas_tipoRespaldo ',
	'ALTER TABLE sybmas_respaldo DROP CONSTRAINT fk_syssrvroles_01 '
	),
 'sybmas_rolesmodulo'=>array(
	'DROP INDEX sybmas_rolesmodulo.idx_rolesmodulo ',
 	'ALTER TABLE sybmas_rolesmodulo DROP CONSTRAINT fk_modulo ',
	'ALTER TABLE sybmas_rolesmodulo DROP CONSTRAINT fk_syssrvroles '	
	),
 'sybmas_rolesOpcionModulo'=>array(
	'ALTER TABLE sybmas_rolesOpcionModulo DROP CONSTRAINT fk_sybmas_opcionModulo_01 ',
 	'ALTER TABLE sybmas_rolesOpcionModulo DROP CONSTRAINT fk_syssrvroles_02 ',
	'DROP INDEX sybmas_rolesOpcionModulo.idx_rolesOpcionModulo'
	),
 'sybmas_tipoPermiso'=>array(),
 'sybmas_tipoRespaldo'=>array()
);


$ddl_restricciones_add=array(
 'sybmas_accionPermiso'=>array(),
 'sybmas_modulo'=>array(),
 'sybmas_opcionModulo'=>array(
 	'ALTER TABLE sybmas_opcionModulo ADD CONSTRAINT fk_sybmas_modulo_01 FOREIGN KEY(id_modulo) REFERENCES sybmas_modulo(id_modulo)',
	),
 'sybmas_permisoObjeto'=>array(
 	'ALTER TABLE sybmas_permisoObjeto ADD CONSTRAINT fk_sybmas_accionPermiso_02 FOREIGN KEY(id_accion) REFERENCES sybmas_accionPermiso',
	'ALTER TABLE sybmas_permisoObjeto ADD CONSTRAINT fk_sybmas_tipoPermiso_01 FOREIGN KEY(id_tipoPermiso) REFERENCES sybmas_tipoPermiso(id_tipoPermiso)'
	),
 'sybmas_respaldo'=>array(
 	'ALTER TABLE sybmas_respaldo ADD CONSTRAINT fk_sybmas_tipoRespaldo FOREIGN KEY(id_tipoRespaldo) REFERENCES sybmas_tipoRespaldo(id_tipoRespaldo)',
	'ALTER TABLE sybmas_respaldo ADD CONSTRAINT fk_syssrvroles_01 FOREIGN KEY(srid)	REFERENCES master..syssrvroles(srid)'
	),
 'sybmas_rolesmodulo'=>array(
	'CREATE UNIQUE CLUSTERED INDEX idx_rolesmodulo ON sybmas_rolesmodulo(srid,id_modulo)',
 	'ALTER TABLE sybmas_rolesmodulo ADD CONSTRAINT fk_modulo FOREIGN KEY(id_modulo) REFERENCES sybmas_modulo(id_modulo)',
	'ALTER TABLE sybmas_rolesmodulo ADD CONSTRAINT fk_syssrvroles FOREIGN KEY(srid) REFERENCES master..syssrvroles(srid)'	
	),
 'sybmas_rolesOpcionModulo'=>array(
	'ALTER TABLE sybmas_rolesOpcionModulo ADD CONSTRAINT fk_sybmas_opcionModulo_01 FOREIGN KEY(id_opcionModulo) REFERENCES sybmas_opcionModulo(id_opcionModulo)',
 	'ALTER TABLE sybmas_rolesOpcionModulo ADD CONSTRAINT fk_syssrvroles_02 FOREIGN KEY (srid) REFERENCES master..syssrvroles(srid)',
	'CREATE UNIQUE CLUSTERED INDEX idx_rolesOpcionModulo ON sybmas_rolesOpcionModulo(srid,id_opcionModulo)'
	),
 'sybmas_tipoPermiso'=>array(),
 'sybmas_tipoRespaldo'=>array()
);

$dml_catalogos=array(
 'sybmas_accionPermiso'=>array(
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (0, 'ALL','Realizar todas las acciones')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (1, 'ALTER','Modificar la tabla')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (2, 'DELETE','Eliminar filas de la tabla. No aplica en columnas')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (3, 'INSERT','Insertar filas de la tabla. No aplica en columnas')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (4, 'REFERENCES','Podran crear indices de las tablas con nombre y claves externas')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (5, 'SELECT','Podran ver informacion de la tabla, vista')",
	"insert into sybmas_accionPermiso(id_accion,accion,descripcion) values (6, 'UPDATE','Actualizar las filas de la tabla')"
	),
 'sybmas_modulo'=>array(
	"insert into sybmas_modulo(id_modulo,nombre) values (0,'Administracion de usuarios')",
	"insert into sybmas_modulo(id_modulo,nombre) values (1,'Administracion de objetos')",
	"insert into sybmas_modulo(id_modulo,nombre) values (2,'Respaldos')",
	"insert into sybmas_modulo(id_modulo,nombre) values (3,'Reportes')",
	"insert into sybmas_modulo(id_modulo,nombre) values (4,'Bases de datos')"
	),
 'sybmas_opcionModulo'=>array(
	"insert into sybmas_opcionModulo values(1,'Alta de Login','',0,'/modulos/usuarios/consultaLogin.php','/vcard_add.png')", 
	"insert into sybmas_opcionModulo values(2,'Alta de Usuario','',0,'/modulos/usuarios/consultaUsuario.php','/user_add.png')",  
	"insert into sybmas_opcionModulo values(4,'Bloquear Login','',0,'/modulos/usuarios/consultarBloqLogin.php','/lock_closed.png')",
	"insert into sybmas_opcionModulo values(6,'Cambiar Password','',0,'/modulos/usuarios/modpassPropio.php','/star.png')",
	"insert into sybmas_opcionModulo values(7,'Crear Tabla','',1,'/modulos/objetos/tablas/crear','/document_blank.png')", 
	//"insert into sybmas_opcionModulo values(8,'Borrar Tabla e Indice','',1,'','/document_delete.png')",
	//"insert into sybmas_opcionModulo values(9,'Modificar Tabla','',1,'','/document_pen.png')",
	"insert into sybmas_opcionModulo values(10,'Listar Tablas','',1,'/modulos/objetos/tablas/','/apple-script.png')",
	//"insert into sybmas_opcionModulo values(11,'Otorgar Privilegios Tabla','',1,'','/curriculum_vitae.png')", 
	"insert into sybmas_opcionModulo values(12,'Realizar Respaldo','',2,'/modulos/respaldos/crear/crearRespaldo1.php','/folder_blue_stuffed.png')",
	"insert into sybmas_opcionModulo values(13,'Reporte Privilegios','',3,'/modulos/reportes/privilegios.php','/reports.png')",
	"insert into sybmas_opcionModulo values(14,'Reporte Respaldos','',3,'/modulos/reportes/respaldos.php','/reports.png')",
	"insert into sybmas_opcionModulo values(15,'Crear Bases de Datos','',4,'/modulos/basesdatos/consultarBD.php','/database_add.png')",
	"insert into sybmas_opcionModulo values(16,'Cambiar Dueño BD','',0,'/modulos/usuarios/consultarOwnerbd.php','/sync.png')" 
	),
 'sybmas_permisoObjeto'=>array(),
 'sybmas_respaldo'=>array(),
 'sybmas_rolesmodulo'=>array(
	"insert into sybmas_rolesmodulo values(null,1)",
	"insert into sybmas_rolesmodulo values(null,0)",
	"insert into sybmas_rolesmodulo values(0,0)",
	"insert into sybmas_rolesmodulo values(0,1)",
	"insert into sybmas_rolesmodulo values(0,2)",
	"insert into sybmas_rolesmodulo values(0,3)",
	"insert into sybmas_rolesmodulo values(0,4)",

	"insert into sybmas_rolesmodulo values(1,0)",
	"insert into sybmas_rolesmodulo values(1,1)",
	
	"insert into sybmas_rolesmodulo values(2,0)",
	"insert into sybmas_rolesmodulo values(2,2)",
	),
 'sybmas_rolesOpcionModulo'=>array(
	"insert into sybmas_rolesOpcionModulo values(null,6)",	
 	"insert into sybmas_rolesOpcionModulo values(null,7)",
	"insert into sybmas_rolesOpcionModulo values(null,10)",
 
 	"insert into sybmas_rolesOpcionModulo values(0,1)",
	"insert into sybmas_rolesOpcionModulo values(0,2)",
	//"insert into sybmas_rolesOpcionModulo values(0,3)",
	"insert into sybmas_rolesOpcionModulo values(0,4)",
	"insert into sybmas_rolesOpcionModulo values(0,6)",
	"insert into sybmas_rolesOpcionModulo values(0,7)",
	//"insert into sybmas_rolesOpcionModulo values(0,8)",
	//"insert into sybmas_rolesOpcionModulo values(0,9)",
	"insert into sybmas_rolesOpcionModulo values(0,10)",
	//"insert into sybmas_rolesOpcionModulo values(0,11)",
	"insert into sybmas_rolesOpcionModulo values(0,12)",
	"insert into sybmas_rolesOpcionModulo values(0,13)",
	"insert into sybmas_rolesOpcionModulo values(0,14)",
	"insert into sybmas_rolesOpcionModulo values(0,15)",
	"insert into sybmas_rolesOpcionModulo values(0,16)",
	
	"insert into sybmas_rolesOpcionModulo values(1,1)",
	"insert into sybmas_rolesOpcionModulo values(1,2)",
	//"insert into sybmas_rolesOpcionModulo values(1,3)",
	"insert into sybmas_rolesOpcionModulo values(1,4)",
	//"insert into sybmas_rolesOpcionModulo values(1,5)",
	"insert into sybmas_rolesOpcionModulo values(1,6)",
	"insert into sybmas_rolesOpcionModulo values(1,10)",
	
	//"insert into sybmas_rolesOpcionModulo values(2,5)",
	"insert into sybmas_rolesOpcionModulo values(2,6)",
	"insert into sybmas_rolesOpcionModulo values(2,12)",
	"insert into sybmas_rolesOpcionModulo values(2,13)"
	
	),
 'sybmas_tipoPermiso'=>array(
	"INSERT INTO sybmas_tipoPermiso(id_tipoPermiso,nombre,descripcion) values (1, 'GRANT','Otorgar privilegios')",
	"INSERT INTO sybmas_tipoPermiso(id_tipoPermiso,nombre,descripcion) values (2, 'REVOKE','Revocar privilegios')"
	),
 'sybmas_tipoRespaldo'=>array(
	"INSERT INTO sybmas_tipoRespaldo(id_tipoRespaldo,nombre,descripcion) VALUES (1,'dump database','Respalda datos y log')",
	"INSERT INTO sybmas_tipoRespaldo(id_tipoRespaldo,nombre,descripcion) VALUES (2,'dump tran','Respalda log')"
	)
);


?>